<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie du plugin «Développeur» pour Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class pDevModuleAdmin extends cpModuleAdmin
{
	
	
	
	
	
	/// @name Initialisation
	//@{
	
	    
	public function __construct($core)
    {
       
        parent::__construct($core); 
        
        # Permission nécessaire: superadmin
		$this->core->auth->verifierPermission('superadmin', true);
        
        $this->setTitreModule(__('Développeur'));

        if($_POST['action'] == 'zipPlugin')
        {
	        if(!array_key_exists($_POST['zip_plugin'], $this->core->plugins)) {
	    		$this->$this->erreurGenerale(new cpErreur(__('Donnée invalide').' (zip_plugin)'), 'zip_plugin', 103);
	    	} else {
	   
		    	$plugin = $this->core->plugins[$_POST['zip_plugin']];

		    	$src = $plugin['chemin'];
		    	$dest = CP_CHEMIN_CACHE.'/devzip/plugin-'.$plugin['identifiant'].'-'.$plugin['version'].'.zip';
		    	
				$zip = new pDevZip($this->core, 'plugin');
				$zip->identifiant = $plugin['identifiant'];
				$zip->creer($src, $dest);
	    	
	    	}
        }
        elseif($_POST['action'] == 'zipTheme')
        {	
        	$this->core->chargerThemes();
        	
	        if(!array_key_exists($_POST['zip_theme'], $this->core->themes)) {
	    		$this->erreurGenerale(new cpErreur(__('Donnée invalide').' (zip_theme)', 'zip_theme', 103));
	    	} else {
	   
		    	$theme = $this->core->themes[$_POST['zip_theme']];
		    	
		    	$src = $theme['chemin'];
		    	$dest = CP_CHEMIN_CACHE.'/devzip/theme-'.$theme['identifiant'].'-'.$theme['version'].'.zip';
		    	
				$zip = new pDevZip($this->core, 'theme');
				$zip->identifiant = $theme['identifiant'];
				$zip->creer($src, $dest);
				
	    	}
        }
        
    }
    //@}

    
    
    
    
    /// @name Interface du module
	//@{
	
	
	public function interfaceModule()
	{
		
		# Combos
		$plugins = array();
		foreach($this->core->plugins as $k => $v) {
			$plugins[$v['nom'].' ('.$k.')'] = $k;
		}
		
		$this->core->chargerThemes();
		$themes = array();
		foreach($this->core->themes as $k => $v) {
			$themes[$v['nom'].' ('.$k.')'] = $k;
		}
		
		# HTML
		$html =
		$this->afficherMessages().
		'<h3>Débuter un projet</h3>'.
		'<ul>'.
			'<li><a href="index.php?module=dev-creer&type=plugin">Créer un nouveau plugin...</a></li>'.
			'<li><a href="index.php?module=dev-creer&type=theme">Créer un nouveau thème...</a></li>'.
		'</ul>'.
		'<h3>Partager votre projet</h3>'.
		'<p>Une fois votre plugin ou votre thème terminé, sélectionnez-le dans une des listes ci-dessous '.
		'afin de générer un fichier zip conforme que vous pourrez distribuer sur le site Web officiel '.
		'de Clicpage.</p>'.
		'<form id="form_zip_plugin" action="index.php?module=dev" method="post">'.
			form::hidden('action', 'zipPlugin').
			'<p>'.
				'<label for="zip_plugin">Plugins</label>'.
				$this->combo('zip_plugin', $plugins).
				'<input id="action_zip_plugin" type="submit" value="Télécharger le fichier zip" />'.
			'</p>'.
		'</form>'.
		'<form id="form_zip_theme" action="index.php?module=dev" method="post">'.
			form::hidden('action', 'zipTheme').
			'<p>'.
				'<label for="zip_theme">Thèmes</label>'.
				$this->combo('zip_theme', $themes).
				'<input id="action_zip_theme" type="submit" value="Télécharger le fichier zip" />'.
			'</p>'.
		'</form>';

		return $html;
	
	}
	//@}
    
	
}

?>